#! /usr/bin/env node

// // 1翻译
// let axios=require('axios')
// let url='http://fanyi.youdao.com/openapi.do?keyfrom=toaijf&key=868480929&type=data&doctype=json&version=1.1&q='
// let argv=encodeURI(process.argv[2])
// axios.get(`${url}+${argv}`).then(res=>{
//     let obj=res.data
//     if(obj.basic){
//         // 存在
//         console.log(123);
//         for(i in obj){
//             console.log(i);
//             console.log(obj[i]);
//         }
//     }else{
//         // 不存在
//         console.log(456);
//         console.log(obj);
//     }
// })





// //2anywhere 

// console.log();
let fs=require('fs')
let http=require('http')
let path=require('path')
// 默认端口号
let POTH=8000
// 截取命令行
let argv=process.argv.slice(2)
// console.log(argv);

// 封装函数 起服务
function Fun(){
    http.createServer((req,res)=>{
        // 获取路径
        // console.log(process.cwd());
        // console.log(req.url);
        let rootpath=path.join(process.cwd(),req.url)
        // console.log(rootpath);
        // 判断路径是不是存在
        if(fs.existsSync(rootpath)){
            // 判断是不是文件夹
            if(fs.statSync(rootpath).isDirectory()){
                // 是
                // console.log(__dirname);
                let html=fs.readFileSync(path.join(__dirname,'./public/index.html'),'utf-8')
                // console.log(path.join(__dirname,'./public/index.html'));
                let he=fs.readdirSync(rootpath).map(item=>{
                    return  `<li>
                        <a href='${path.join(req.url,item)}'>${item}</a>
                    </li>`
                }).join('')
                // 把html这个路径的内容替换掉并且重新赋值
                html=html.replace('{{he}}',he)
                // console.log(html.replace('{{he}}',he));
                // 响应
                res.end(html)
            }else{
                // 不是
                res.end(fs.readFileSync(rootpath),'utf-8')
            }
        }else{
            res.end('FUNC,roll,egg')
        }
    }).listen(POTH,()=>{
        console.log('起来了'+argv[1]);
    })
}

// 判断数组是否为空
if(argv.length==0){
    // 是
    // 端口号默认8000
    console.log('8000');
    // 赋值
    argv[1]=POTH
    // 调用
    Fun()
}else{
    // 无
    // 带参数
    if(argv[0]=='-v'){
        // 查看版本号
        console.log('版本号是1.0.0');
    }else
    if(argv[0]=='-p'){
        console.log(`端口号是`+argv[1]);
        // console.log(argv);
        // 赋值
        POTH=argv[1]
        // 调用
        Fun()
    }
}